iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0

內容

  1. 模型架構

    1.1 Backbone選擇

    • CSPResNeXt50

      • ResNeXt:ResNet參考Inception結構(split-transform-merge),將卷積層降維進行卷積運算,再將多個卷積層運算結果合併。

      • CSP:將Base layer特徵分成兩部分,Part2經過Dense Block與Transition layer,再與Part1 concatenate。藉由高效率的梯度傳遞,節省運算資源。

    • CSPDarkNet53優於CSPResNeXt50

      • CSP:同上。
      • DarkNet:YOLOv2中提出的特徵萃取網路,參考Restnet殘差概念,結構僅由卷積層與殘差網路組成。相較於常用的VGG16,參數只有其1/6。
    • 經作者測試,CSPResNeXt50影像分類效果佳,但CSPDarkNet53物件值偵測佳,故最終選擇後者作為Backbone。

    1.2 Neck用途

    • SPPNet:藉由SPP將圖像特徵轉化成相同大小的特徵向量,消除圖像輸入尺寸的限制。在維持相同的收斂速度情況下,提高模型的準確度。

    • PANet:引入short-circuit概念,並以Addition融合不同尺寸特徵圖資訊。而YOLOv4中將原本的Addition改成Concatenation。

    1.3 YOLOv4模型:CSPDarkNet53 + SPPNet + PANet + YOLOv3 Head

  2. 優化方法

    2.1 Bag of freebies :不改變網路結構的訓練策略,推論速度不變,提高準確度。

    • CutMix與Mosaic數據增強

      • CutMix:包括mixup(疊加影像與標籤)、Cutout(裁切部分像素,使模型不僅專注學習物件特徵)。

      • Mosaic:不同於CutMix僅使用2張圖片,Mosaic混合4張不同圖片(旋轉、縮放與HSV調整再合併成1張圖),可提升模型的泛化程度。

    • DropBlock:Dropout隨機將特徵權重設為0捨去,但鄰近特徵可能帶有相似信息,無法有效提升模型泛化程度。故將此概念演變成,隨機將特徵bolck權重設為0。

    • Class label smoothing:one hot encoding導入factor參數,降低稀疏陣列的影響。通常應用在小資料集,解決資料不平衡問題,避免模型過擬合。但資料充足時,可能會造成模型欠擬合。

    • CIoU-loss:代替原本的Smooth L1 Loss。除了考慮Bounding box與實際目標重疊面積,又引入懲罰項(Bounding box和目標框的中心點距離)

    • CmBN:CBN的變體,計算BN時僅在幾個mini-batch中收集信息,在不耗費太多記憶體的情況下,擴大batch size信息。

    2.2 Bag of specials:改變模型結構,犧牲少數推論時間,提高準確度。

    • Mish激活函数:是1種單調且平滑(梯度穩定)的激活函數,在泛用表現上,準確度明顯高於switch與relu激活函數,但運算成本也相對提高了一點。

    • MiWRC:參考EfficientDet BiFPN。

      • BiFPN:認為不同scale權重相等,以Addition融合不同尺寸特徵圖資訊。

      • MiWRC:認為不同scale有不同權重,以Concatenation(加權)融合不同尺寸特徵圖資訊。

    • SDIoU-NMS:原本的NMS,若2個物件的boundingbox IOU大但距離較近時,會被認為是同一個物件而篩除。故SDIoU-NMS除了考慮IOU,又引入ounding box和目標框的中心點距離。


小結

  1. 近日工作繁忙,當天翻譯、掃完論文亮點,理解各個亮點原理和目的,再轉化為文章。真的是痛苦並快樂著...
  2. 下一站,我們前往「Scaled YOLOv4解析(一)」。

讓我們繼續看下去...


參考資料

  1. YOLOv4: Optimal Speed and Accuracy of Object Detection
  2. 目标检测之YOLOv4算法: Optimal Speed and Accuracy of Object Detection
  3. YOLOv4詳細分析
  4. ResNeXt 論文閱讀

上一篇
《第10天》YOLOv4解析(一)
下一篇
《第12天》Scaled YOLOv4解析(一)
系列文
Object Detection and Image Processing with Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言